package com.personal.system.service.approve;

import com.personal.common.result.Result;
import com.personal.system.domain.ApprovalProcessConstants;
import com.personal.system.entity.approval.BusinessApproveVo;

public interface ApproveProcessCallBack {
    /**
     * approveCompleted: 提交审批操作
     */
    Result submitForProcess(BusinessApproveVo businessApproveVo);

    /**
     * rejectedForApprove: 审批驳回操作
     * @return
     */
    Result rejectedForProcess(BusinessApproveVo businessApproveVo);

    /**
     * approveCompleted: 审批完成
     */
    Result completedForProcess(BusinessApproveVo businessApproveVo);

    /**
     * modifyPendUserForProcess: 多级审批中
     */
    Result modifyPendUserForProcess(BusinessApproveVo businessApproveVo);

    /**
     * getRuleClassEnum: 审批规则
     */
    ApprovalProcessConstants.RuleClassEnum getRuleClassEnum();

    /**
     * 根据业务ID查公司
     */
    String getAuditRuleByBusiness(String businessId);
}
